// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "Data/CommonEnum.h"
#include "Data/MissionEnum.h"
#include "Data/MissionStruct.h"
#include "SingleMarkerWidget.generated.h"

UCLASS()
class MISCELLANEOUSPROJECT_API USingleMarkerWidget : public UUserWidget
{
	GENERATED_BODY()

	virtual void NativeConstruct() override;
	virtual void NativeOnInitialized() override;
public:
	void ConstructWidget(const FTargetInfo& TargetInfo);
	UFUNCTION(BlueprintCallable, Category = MissionComponent)
	void ToggleMarker(EToggleVisibility InVisibility, bool InAnimate, bool InRemove);
	UFUNCTION(BlueprintCallable, Category = MissionComponent)
	void UpdateElevation(EElevationState ElevationState);
	UFUNCTION(BlueprintCallable, Category = MissionComponent)
	void UpdateMarkerDistance(int32 Distance);
public:
	UPROPERTY(meta = (BindWidget))
	class UBorder* BackgroundMask;
	UPROPERTY(meta = (BindWidget))
	class UBorder* DynamicBackground;
	UPROPERTY(meta = (BindWidget))
	class UBorder* Container;
	UPROPERTY(meta = (BindWidget))
	class UImage* Indicator;
	UPROPERTY(meta = (BindWidget))
	class UImage* Icon;
	UPROPERTY(meta = (BindWidget))
	class UImage* SelectedMarker;
	UPROPERTY(meta = (BindWidget))
	class UTextBlock* Distance;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (ExposeOnSpawn = "true"), Category = "Default")
	FTargetInfo TargetInfo;

private:
	int32 MaxDisplayDistance;


};
